export default (Vue) => {
  const eventHub = new Vue()
  Vue.prototype.$bus = {
    /**
     * @param{any} event 第一个参数是事件对象, 第二个接受的消息信息，可以是任意类型对象
     * @method $on 事件订阅，监听当前实例上的自定义事件
     * @method $off 取消事件订阅
     * @method $emit 发送事件消息
     * @method $once 监听一个自定义事件 只触发一次
    */
    on(...event) {
      eventHub.$on(...event)
    },
    off(...event) {
      eventHub.$off(...event)
    },
    once(...event) {
      eventHub.$once(...event)
    },
    emit(...event) {
      eventHub.$emit(...event)
    }
  }
}
